home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / wsc4vb24 / selftest.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-06-01  |  6.8 KB  |  255 lines

  1. VERSION 2.00
  2. Begin Form Selftest 
  3.    AutoRedraw      =   -1  'True
  4.    Caption         =   "Self Test"
  5.    ClientHeight    =   4020
  6.    ClientLeft      =   1770
  7.    ClientTop       =   1935
  8.    ClientWidth     =   7365
  9.    FontBold        =   -1  'True
  10.    FontItalic      =   0   'False
  11.    FontName        =   "Courier New"
  12.    FontSize        =   8.25
  13.    FontStrikethru  =   0   'False
  14.    FontUnderline   =   0   'False
  15.    Height          =   4710
  16.    Left            =   1710
  17.    LinkTopic       =   "Form1"
  18.    ScaleHeight     =   4020
  19.    ScaleWidth      =   7365
  20.    Top             =   1305
  21.    Width           =   7485
  22.    Begin Menu menuInstruct 
  23.       Caption         =   "Instructions"
  24.    End
  25.    Begin Menu menuSettings 
  26.       Caption         =   "Settings"
  27.       Begin Menu menu1stPort 
  28.          Caption         =   "1st Port"
  29.          Begin Menu menu1stCOM1 
  30.             Caption         =   "COM1"
  31.          End
  32.          Begin Menu menu1stCOM2 
  33.             Caption         =   "COM2"
  34.          End
  35.          Begin Menu menu1stCOM3 
  36.             Caption         =   "COM3"
  37.          End
  38.          Begin Menu menu1stCOM4 
  39.             Caption         =   "COM4"
  40.          End
  41.       End
  42.       Begin Menu menu2ndPort 
  43.          Caption         =   "2nd Port"
  44.          Begin Menu menu2ndCOM1 
  45.             Caption         =   "COM1"
  46.          End
  47.          Begin Menu menu2ndCOM2 
  48.             Caption         =   "COM2"
  49.          End
  50.          Begin Menu menu2ndCOM3 
  51.             Caption         =   "COM3"
  52.          End
  53.          Begin Menu menu2ndCOM4 
  54.             Caption         =   "COM4"
  55.          End
  56.       End
  57.    End
  58.    Begin Menu menuTest 
  59.       Caption         =   "Test"
  60.    End
  61.    Begin Menu menuExit 
  62.       Caption         =   "Exit"
  63.    End
  64. ' SELFTEST.BAS
  65. Option Explicit
  66. Sub Form_Load ()
  67.    Dim X As String
  68.    The1stPort = COM1
  69.    The2ndPort = COM2
  70.    menu1stCOM1.Checked = True
  71.    menu2ndCOM2.Checked = True
  72.    TestString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
  73.    Call ShowCaption
  74. End Sub
  75. Sub menu1stCOM1_Click ()
  76.     The1stPort = COM1
  77.     Call Uncheck1stComPorts
  78.     menu1stCOM1.Checked = True
  79.     Call ShowCaption
  80. End Sub
  81. Sub menu1stCOM2_Click ()
  82.     The1stPort = COM2
  83.     Call Uncheck1stComPorts
  84.     menu1stCOM2.Checked = True
  85.     Call ShowCaption
  86. End Sub
  87. Sub menu1stCOM3_Click ()
  88.     The1stPort = COM3
  89.     Call Uncheck1stComPorts
  90.     menu1stCOM3.Checked = True
  91.     Call ShowCaption
  92. End Sub
  93. Sub menu1stCOM4_Click ()
  94.     The1stPort = COM4
  95.     Call Uncheck1stComPorts
  96.     menu1stCOM4.Checked = True
  97.     Call ShowCaption
  98. End Sub
  99. Sub menu2ndCOM1_Click ()
  100.     The2ndPort = COM1
  101.     Call Uncheck2ndComPorts
  102.     menu2ndCOM1.Checked = True
  103.     Call ShowCaption
  104. End Sub
  105. Sub menu2ndCOM2_Click ()
  106.     The2ndPort = COM2
  107.     Call Uncheck2ndComPorts
  108.     menu2ndCOM2.Checked = True
  109.     Call ShowCaption
  110. End Sub
  111. Sub menu2ndCOM3_Click ()
  112.     The2ndPort = COM3
  113.     Call Uncheck2ndComPorts
  114.     menu2ndCOM3.Checked = True
  115.     Call ShowCaption
  116. End Sub
  117. Sub menu2ndCOM4_Click ()
  118.     The2ndPort = COM4
  119.     Call Uncheck2ndComPorts
  120.     menu2ndCOM4.Checked = True
  121.     Call ShowCaption
  122. End Sub
  123. Sub menuDebug_Click ()
  124. Dim Code As Integer
  125. Call ShutDown
  126. End Sub
  127. Sub menuExit_Click ()
  128.   End
  129. End Sub
  130. Sub menuInstruct_Click ()
  131. SELFTEST.Cls
  132. SELFTEST.Print "SELFTEST can operate in one of two ways:"
  133. SELFTEST.Print
  134. SELFTEST.Print "1] A single port with a loopback adapter on the end."
  135. SELFTEST.Print "   The adapter should have TD & RD tied together."
  136. SELFTEST.Print
  137. SELFTEST.Print "2] Two serial ports on the same computer."
  138. SELFTEST.Print "   Connect the two ports together using a Null Modem Cable."
  139. SELFTEST.Print
  140. End Sub
  141. Sub menuTest_Click ()
  142.    Dim I, N As Integer
  143.    Dim Code As Integer
  144.    Dim Count As Integer
  145.    Dim TimeMark As Long
  146.    Dim TestLength As Integer
  147.    'begin test run
  148.    SELFTEST.Cls
  149.    RunNumber = RunNumber + 1
  150.    SELFTEST.Print "TESTING: COM"; 1 + The1stPort; " ==> COM"; 1 + The2ndPort
  151.    SELFTEST.Print "Run #"; RunNumber
  152.    'check ports
  153.    If (The1stPort = COM1) And (The2ndPort = COM3) Then
  154.      SELFTEST.Print "COM1 and COM3 share the same IRQ"
  155.      Exit Sub
  156.    End If
  157.    If (The1stPort = COM2) And (The2ndPort = COM4) Then
  158.      SELFTEST.Print "COM2 and COM4 share the same IRQ"
  159.      Exit Sub
  160.    End If
  161.    'turn on 1st port
  162.    Code = GoOnline(The1stPort)
  163.    If Code = 0 Then
  164.      Call ShutDown
  165.      Exit Sub
  166.    End If
  167.    'turn on 2nd port
  168.    If The1stPort <> The2ndPort Then
  169.      Code = GoOnline(The2ndPort)
  170.      If Code = 0 Then
  171.        Call ShutDown
  172.        Exit Sub
  173.      End If
  174.    End If
  175.    'test !
  176.    SELFTEST.Print
  177.    SELFTEST.Print "Test string = "; TestString
  178.    Call ShowConfig
  179.    SELFTEST.Print "[Test string will be sent 16 times]"
  180.    TestLength = Len(TestString)
  181.    SELFTEST.Print "  Sending: ";
  182.    For N = 1 To 16
  183.      SELFTEST.Print Right$(Str$(N), 3);
  184.      For I = 1 To TestLength
  185.        Code = SioPutc(The1stPort, Asc(Mid$(TestString, I, 1)))
  186.        If Code < 0 Then
  187.          Call SayError(SELFTEST, Code)
  188.          Call ShutDown
  189.          Exit Sub
  190.        End If
  191.      Next I
  192.    Next N
  193.    SELFTEST.Print
  194.    SELFTEST.Print "Receiving: ";
  195.    TimeMark = Timer + 4
  196.    For N = 1 To 16
  197.      SELFTEST.Print Right$(Str$(N), 3);
  198.      For I = 1 To TestLength
  199.        Do
  200.          'try for incoming char
  201.          Code = SioGetc(The2ndPort)
  202.          If Code >= 0 Then
  203.            Exit Do
  204.          End If
  205.          'no incoming
  206.          If (Timer >= TimeMark) Or (Code <> WSC_NO_DATA) Then
  207.            SELFTEST.Print
  208.            If Code = WSC_NO_DATA Then
  209.              SELFTEST.Print "[Timeout waiting for incoming data]"
  210.            Else
  211.              Call SayError(SELFTEST, Code)
  212.            End If
  213.            'shut down now
  214.            Call ShutDown
  215.            Exit Sub
  216.          End If
  217.        Loop
  218.        'test incoming char
  219.        If Chr$(Code) <> Mid$(TestString, I, 1) Then
  220.          SELFTEST.Print
  221.          SELFTEST.Print "ERROR: Received "; Chr$(Code);
  222.          SELFTEST.Print ", but expected "; Mid$(TestString, I, 1);
  223.          SELFTEST.Print " for character #"; I
  224.          Call ShutDown
  225.          Exit Sub
  226.        End If
  227.      Next I
  228.    Next N
  229.    SELFTEST.Print
  230.    'clear buffers
  231.    Code = SioRxClear(The1stPort)
  232.    Code = SioTxClear(The1stPort)
  233.    If The1stPort <> The2ndPort Then
  234.      Code = SioRxClear(The2ndPort)
  235.      Code = SioTxClear(The2ndPort)
  236.    End If
  237.    'done
  238.    Call ShutDown
  239.    SELFTEST.Print "*** Test complete"
  240. End Sub
  241. Sub Uncheck1stComPorts ()
  242. 'uncheck all COM ports
  243. menu1stCOM1.Checked = False
  244. menu1stCOM2.Checked = False
  245. menu1stCOM3.Checked = False
  246. menu1stCOM4.Checked = False
  247. End Sub
  248. Sub Uncheck2ndComPorts ()
  249. 'uncheck all COM ports
  250. menu2ndCOM1.Checked = False
  251. menu2ndCOM2.Checked = False
  252. menu2ndCOM3.Checked = False
  253. menu2ndCOM4.Checked = False
  254. End Sub
  255.